﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SyncList.Business.ValueObject
{

    /// <summary>
    /// Représente toutes les données d'un seul utilisateur
    /// </summary>
    public class SingleUser
    {

        #region Attributs

        /// <summary>
        /// Utilisateur
        /// </summary>
        private string _userName;


        /// <summary>
        /// Chemin complet du fichier XML de "SyncList.xml"
        /// </summary>
        private string _xmlFileName;


        /// <summary>
        /// Collection de fichiers
        /// </summary>
       // private FileDefCollection _files = new FileDefCollection();


        /// <summary>
        /// Données
        /// </summary>
        private Data _data = new Data();


        #endregion

        #region Constructeur

        /// <summary>
        /// Constructeur
        /// </summary>
        /// <param name="userName">Utilisateur</param>
        /// <param name="xmlFileName">Fichier source</param>
        /// <param name="data">Contenu du fichier source</param>
        public SingleUser(string userName, string xmlFileName, Data data)
        {
            _userName = userName;
            _xmlFileName = xmlFileName;
            _data = data;
        }

        #endregion

        #region Propriétés

        /// <summary>
        /// Nom de l'utilisateur à qui appartient la liste
        /// </summary>
        public string UserName
        {
            get { return (_userName); }
        }

        /// <summary>
        /// Collection de fichiers
        /// </summary>
        public FileDefCollection Files
        {
            get { return (_data.Files); }
        }   

        /// <summary>
        /// Chemin complet du fichier XML de "SyncList.xml"
        /// </summary>
        public string XmlFileName
        {
            get { return (_xmlFileName); }
        }


        /// <summary>
        /// Données
        /// </summary>
        public Data Data
        {
            get { return (_data); }
        }


        #endregion

    }


}
